home *** CD-ROM | disk | FTP | other *** search
/ Softdisk Supreme / Softdisk Supreme.iso / pc / DSK Files / 0-49 / SD006b.dsk / DECISION.MAKER.bas < prev    next >
BASIC Source File  |  2003-06-12  |  7KB  |  106 lines

  1. 1  REM <CTRL-J><CTRL-J>DECISION MAKER<CTRL-J><CTRL-J>
  2. 2  REM  A PROGRAM TO
  3. 3  REM   AID YOU IN
  4. 4  REM  MAKING  HARD
  5. 5  REM   DECISIONS.<CTRL-J><CTRL-J>
  6. 6  REM  WRITTEN  BY:<CTRL-J>
  7. 7  REM  DALE SALYER,
  8. 8  REM  THORNTON, CO.<CTRL-J>
  9. 9  REM  FEB 25, 1982<CTRL-J><CTRL-J>
  10. 10  DIM CH(10),CH$(10),CR(10),CR$(10),CV(10)
  11. 11  REM <CTRL-J>CH(I,J) = CHOICE I,
  12. 12  REM           VALUE  J.
  13. 13  REM <CTRL-J>CR(I) = CRITERIA.<CTRL-J>
  14. 14  REM <CTRL-J>CH$(I) = CHOICE NAMES.<CTRL-J>
  15. 15  REM <CTRL-J>CR$(I) = CRITERIA NAMES.<CTRL-J>
  16. 17  REM <CTRL-J>    CHANGE IF PRINTER
  17. 18  REM     IS IN ANOTHER SLOT
  18. 19 SLOT = 1: REM PRINTER SLOT<CTRL-J><CTRL-J>
  19. 20  DEF  FN R(X) =  INT(10 *X +.5)/10
  20. 25  FOR I = 1 TO 10:CV(I) = 0: NEXT I
  21. 30  GOTO 100
  22. 40  LIST 0,9: FOR I = 1 TO 20: VTAB I: HTAB 1: PRINT "      ": NEXT I: VTAB 22
  23. 50  PRINT "<PRESS ANY KEY TO START> ";: GET R$: PRINT : RETURN 
  24. 60  VTAB 24: HTAB 1: INVERSE : PRINT "<PRESS ANY KEY TO CONTINUE>";: NORMAL : GET X$: PRINT : HOME : RETURN 
  25. 100  TEXT : HOME : GOSUB 40: TEXT : HOME : HTAB 13: PRINT "DECISION MAKER": PRINT : PRINT : PRINT 
  26. 110  POKE 34,5: HOME 
  27. 120  VTAB 6: PRINT "DO YOU WANT INSTRUCTIONS (Y/N) ";: INPUT R$:R$ =  LEFT$(R$,1)
  28. 130  IF R$ = "N"  THEN 150
  29. 140  IF R$ < >"Y"  THEN  GOTO 110
  30. 145  GOSUB 10000
  31. 150  HOME : PRINT "TYPE IN A NAME FOR YOUR DECISION :": PRINT "    (LESS THAN 30 CHAR. PLEASE)"
  32. 160  INPUT ": ";TI$
  33. 165  IF  LEN(TI$) >30  OR  LEN(TI$) = 0  THEN 140
  34. 170  VTAB 3: HTAB (20 - LEN(TI$)/2): PRINT TI$: VTAB 6
  35. 180  HOME : PRINT "HOW MANY CHOICES DO YOU HAVE [2-10] ";: INPUT NC$:NC =  VAL(NC$): IF NC <2  OR NC >10  THEN 180
  36. 190  HOME : PRINT "HOW MANY CRITERIA DO YOU WANT TO JUDGE  THESE CHOICES ON [2-10] ";: INPUT NW$:NW =  VAL(NW$): IF NW <2  OR NW >10  THEN 190
  37. 195  VTAB 5: HTAB 14: PRINT "CHOICE INPUT"
  38. 200  FOR I = 1 TO NC: HOME 
  39. 210  PRINT : PRINT "NAME OF CHOICE # ";I;" :": PRINT : INPUT CH$(I)
  40. 220  IF  LEN(CH$(I)) >30  THEN : FLASH : HOME : PRINT : PRINT "[ LESS THAN 30 CHAR. PLEASE ]": NORMAL : PRINT : GOTO 210
  41. 230  NEXT I
  42. 235  VTAB 5: HTAB 12: PRINT "CRITERIA INPUT   "
  43. 240  FOR I = 1 TO NW: HOME 
  44. 250  PRINT : PRINT "NAME OF CRITERIA # ";I;" :": PRINT : INPUT CR$(I)
  45. 260  IF  LEN(CR$(I)) >30  THEN  FLASH : HOME : PRINT : PRINT "[ LESS THAN 30 CHAR. PLEASE ]": NORMAL : PRINT : GOTO 250
  46. 270  NEXT I
  47. 280  VTAB 5: HTAB 12: PRINT "CRITERIA WEIGHTING      "
  48. 290  FOR I = 1 TO NW: HOME 
  49. 300  PRINT : PRINT "CRITERIA # ";I;" :": PRINT : PRINT "     ";CR$(I): PRINT : PRINT "WHAT VALUE DO YOU PLACE ON THIS": PRINT "CRITERIA IN RELATION TO THE OTHERS -": PRINT 
  50. 310  INPUT W$:CR(I) =  VAL(W$): IF CR(I) < = 0  THEN  HOME : PRINT : FLASH : PRINT "[ VALUE MUST BE GREATER THAN ZERO ]": NORMAL : PRINT : GOTO 300
  51. 320  NEXT I
  52. 340 TW = 0: FOR I = 1 TO NW:TW = TW +CR(I): NEXT I
  53. 350  FOR I = 1 TO NW:CR(I) = (10 *CR(I))/TW: NEXT I
  54. 360  VTAB 5: HTAB 12: PRINT "CHOICE JUDGEMENT    "
  55. 370  FOR I = 1 TO NW: HOME 
  56. 380  FOR J = 1 TO NC: HOME 
  57. 390  PRINT : PRINT "FOR CRITERIA # ";I;" :": PRINT "   ";CR$(I): PRINT : PRINT "JUDGE CHOICE # ";J;" :": PRINT "   ";CH$(J): PRINT : PRINT "IN RELATION TO THE OTHER CHOICES -": PRINT 
  58. 400  INPUT W$:CH(J) =  VAL(W$): IF CH(J) < = 0  THEN  HOME : PRINT : FLASH : PRINT "[ VALUE MUST BE GREATER THAN ZERO ]": NORMAL : PRINT : GOTO 390
  59. 410  NEXT J
  60. 420 TV = 0: FOR K = 1 TO NC:TV = TV +CH(K): NEXT K
  61. 430  FOR K = 1 TO NC:CH(K) = (10 *CH(K) *CR(I))/TV: NEXT K
  62. 440  FOR K = 1 TO NC:CV(K) = CV(K) +CH(K): NEXT K
  63. 450  NEXT I
  64. 460  FOR I = 1 TO NW:CV(I) = CV(I)/NW: NEXT I
  65. 470 MV = 0:MN = 0: FOR I = 1 TO NW: IF CV(I) >MV  THEN MV = CV(I):MN = I
  66. 480  NEXT 
  67. 490  FOR I = 1 TO NW:CV(I) = (100 *CV(I))/MV: NEXT I
  68. 500  VTAB 5: PRINT "                               ": PRINT : PRINT : HOME : PRINT "DO YOU WANT A HARD-COPY OF THE RESULTS": INPUT R$:R$ =  LEFT$(R$,1)
  69. 510  IF R$ = "N"  THEN : TEXT : HOME : GOTO 540
  70. 520  IF R$ < >"Y"  THEN 500
  71. 530  PRINT  CHR$(4);"PR#";SLOT
  72. 540  POKE 36,13: PRINT "DECISION MAKER RESULTS": PRINT : PRINT : PRINT 
  73. 550  PRINT "GIVEN THE FOLLOWING CHOICES:": PRINT : PRINT 
  74. 560  FOR I = 1 TO NC: PRINT "   ";I;" - ";CH$(I): IF R$ < >"N"  THEN  PRINT 
  75. 565  NEXT I: PRINT 
  76. 570  IF R$ = "N"  THEN  GOSUB 60
  77. 580  PRINT "AND THE FOLLOWING CRITERIA FOR JUDGING  THEM:": PRINT : PRINT 
  78. 590  FOR I = 1 TO NW: PRINT "   ";I;" - ";CR$(I): IF R$ < >"N"  THEN  PRINT 
  79. 595  NEXT I: PRINT 
  80. 600  IF R$ = "N"  THEN  GOSUB 60
  81. 610  PRINT : PRINT "YOUR BEST CHOICE IS :": PRINT : PRINT "   ";MN;" - ";CH$(MN): PRINT : PRINT 
  82. 620  PRINT "THE FINAL SCORES ARE:": PRINT 
  83. 630  FOR I = 1 TO NC: PRINT "    ";I;" - "; FN R(CV(I)): IF R$ < >"N"  THEN  PRINT 
  84. 635  NEXT I: PRINT 
  85. 640  PRINT "GOOD-BYE"
  86. 650  IF R$ = "Y"  THEN  PRINT  CHR$(4);"PR#0"
  87. 700  END 
  88. 10000  REM  INSTRUCTIONS
  89. 10010  HOME : PRINT " THIS PROGRAM WILL HELP YOU MAKE": PRINT "DECISIONS. IT IS DESIGNED TO ALLOW YOU": PRINT "TO JUDGE UP TO TEN CHOICES BY AS MANY": PRINT "AS TEN CRITERIA (THESE VALUES MAY BE": PRINT "CHANGED TO SUIT YOUR NEEDS)."
  90. 10020  PRINT : PRINT " CHOICE IN THIS PROGRAM IS ONE OF THE": PRINT "SEVERAL OPTIONS YOU ARE DECIDING": PRINT "BETWEEN. FOR EXAMPLE: TYPE OF CAR -": PRINT "CHEVY, FORD, TOYOTA, DATSUN."
  91. 10030  PRINT : PRINT " CRITERIA IS ONE OF THE THINGS YOU ARE": PRINT "GOING TO BASE THE DECISION UPON": PRINT "FOR EXAMPLE: COST, STYLE, DURABILITY."
  92. 10040  GOSUB 60
  93. 10050  PRINT " WEIGHT VALUE IS A NUMBER WHICH": PRINT "INDICATES THE RELATIVE VALUE THAT YOU": PRINT "PLACE UPON A CERTAIN ITEM. THESE": PRINT "NUMBERS IN THEMSELVES ARE IRRELEVENT,": PRINT "IT IS THE RELATIONSHIP TO THE OTHERS": PRINT "THAT IS IMPORTANT."
  94. 10060  PRINT : PRINT " FOR EXAMPLE: IF YOU HAD THREE CHOICES": PRINT "AND YOU ASSIGN WEIGHT VALUES OF 20, 30": PRINT "AND 40; IT WOULD BE THE SAME AS THOUGH": PRINT "YOU ASSIGNED 2,3 AND 4 OR 24,36, AND": PRINT "48."
  95. 10070  PRINT : PRINT " THE WEIGHTING VALUES WILL DETERMINE": PRINT "THE RESULTS OF YOUR DECISION SO IT IS": PRINT "VERY IMPORTANT THAT YOU THINK ABOUT": PRINT "THE RELATIVE VALUES VERY CAREFULLY."
  96. 10080  GOSUB 60
  97. 10090  PRINT " WHEN THE PROGRAM BEGINS YOU WILL BE": PRINT "ASKED FOR A TITLE TO BE PLACED ABOVE": PRINT "THE RESULTS. THIS SHOULD DESCRIBE THE": PRINT "CHOICE."
  98. 10100  PRINT : PRINT " THEN A SERIES OF QUESTIONS WILL ASK": PRINT "HOW MANY CHOICES AND CRITERIA YOU": PRINT "WANT TO USE. YOU WILL ALSO BE ASKED": PRINT "TO GIVE THEM A NAME SO YOU CAN REMEMBER": PRINT "THEM EASIER."
  99. 10110  GOSUB 60
  100. 10120  PRINT " NEXT, EACH CRITERIA WILL BE PRESENTED": PRINT "AND YOU WILL BE ASKED TO GIVE EACH A": PRINT "WEIGHTING VALUE TO SHOW HOW IMPORTANT": PRINT "EACH ONE IS TO YOU."
  101. 10130  PRINT : PRINT " THEN THE CRITERIA WILL BE PRESENTED": PRINT "AGAIN, BUT THIS TIME YOU WILL BE": PRINT "JUDGING EACH OF THE CHOICES ACCORDING": PRINT "TO THE CRITERIA PRESENTED."
  102. 10140  PRINT : PRINT " THE PROGRAM WILL THEN CALCULATE YOUR": PRINT "BEST CHOICE BASED UPON THE ANSWERS": PRINT "YOU GAVE. YOU WILL BE ASKED IF YOU": PRINT "WANT A HARD COPY OF THE RESULTS."
  103. 10150  GOSUB 60
  104. 10160  PRINT " AT THIS TIME A LIST OF THE RESULTS": PRINT "WILL PRINT OUT ON THE SCREEN OR": PRINT "PRINTER IF YOU SAID YES TO THE LAST": PRINT "QUESTION."
  105. 10170  PRINT : PRINT "THE PRINTER IS SETUP TO SLOT 1 IN LINE": PRINT "19, WHICH CAN BE CHANGED TO SUIT YOUR": PRINT "NEEDS."
  106. 10180  GOSUB 60: RETURN